Backus-Naur form (BNF) er en metasyntaks, dvs. en formel måde at beskrive formelle sprogs syntaks.[1]
BNF er en meget udbredt notation til at beskrive grammatikken af programmeringsprog. De fleste lærebøger om teorien bag programmering beskriver programmeringssprog i BNF.[1]
I BNF bruges nogle få simple symboler, som alle kan skrives på en skrivemaskine. Der bruges følgende symboler:[1]
Begreber, der er defineret (konstanter, terminale begreber), skrives som de er.